/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.perekamankegiatanunit;

import org.sadhar.sia.common.ClassSession;
import org.sadhar.sia.framework.ClassApplicationModule;
import org.sadhar.sipp.perekamanjeniskegiatan.PerekamanJenisKegiatanDAO;
import org.sadhar.sipp.perekamanjeniskegiatan.PerekamanJenisKegiatanDAOImpl;
import org.sadhar.sipp.perekamankelompokkegiatan.PerekamanKelompokKegiatanDAO;
import org.sadhar.sipp.perekamankelompokkegiatan.PerekamanKelompokKegiatanDAOImpl;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.Session;
import org.zkoss.zk.ui.Sessions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Space;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Toolbarbutton;
import org.zkoss.zul.Window;

/**
 *
 * @author hendro
 */
public class PerekamanKegiatanUnitWnd extends ClassApplicationModule {

    private Label lblTahunAnggaran;
    private Textbox txtboxKelompokKegiatan;
    private Button btnCariKelompokKegiatan;
    private Textbox txtboxJenisKegiatan;
    private Button btnCariJenisKegiatan;
    private Textbox txtboxNamaKegiatan;
    private Textbox txtboxKeterangan;
    private Datebox tglboxAwalKegiatan;
    private Datebox tglboxAkhirKegiatan;
    private Textbox txtboxNomorIndikator;
    private Button btnSimpan;
    private Button btnBatal;
    private Listbox lstboxDaftarKegiatan;
    private Textbox txtboxKodeKelompokKegiatan;
    private Textbox txtboxKodeJenisKegiatan;
    private PerekamanKegiatanUnitDAO kegiatanUnitDAO;
    private PerekamanKelompokKegiatanDAO kelompokKegiatanDAO;
    private PerekamanJenisKegiatanDAO jenisKegiatanDAO;
    private Checkbox chkSemua;
    private Listbox lstboxDaftarKegiatanFilter;
    private Textbox txtboxKodeKegiatan;
    private Session sesi;

    public PerekamanKegiatanUnitWnd() {
        this.kegiatanUnitDAO = new PerekamanKegiatanUnitDAOImpl();
        this.kelompokKegiatanDAO = new PerekamanKelompokKegiatanDAOImpl();
        this.jenisKegiatanDAO = new PerekamanJenisKegiatanDAOImpl();
    }

    public void onCreate() throws Exception {
        lblTahunAnggaran = (Label) getFellow("lblTahunAnggaran");
        txtboxKelompokKegiatan = (Textbox) getFellow("txtboxKelompokKegiatan");
        btnCariKelompokKegiatan = (Button) getFellow("btnCariKelompokKegiatan");
        txtboxJenisKegiatan = (Textbox) getFellow("txtboxJenisKegiatan");
        btnCariJenisKegiatan = (Button) getFellow("btnCariJenisKegiatan");
        txtboxNamaKegiatan = (Textbox) getFellow("txtboxNamaKegiatan");
        txtboxKeterangan = (Textbox) getFellow("txtboxKeterangan");
        tglboxAwalKegiatan = (Datebox) getFellow("tglboxAwalKegiatan");
        tglboxAkhirKegiatan = (Datebox) getFellow("tglboxAkhirKegiatan");
        txtboxNomorIndikator = (Textbox) getFellow("txtboxNomorIndikator");
        btnSimpan = (Button) getFellow("btnSimpan");
        btnBatal = (Button) getFellow("btnBatal");
        lstboxDaftarKegiatan = (Listbox) getFellow("lstboxDaftarKegiatan");
        txtboxKodeKelompokKegiatan = (Textbox) getFellow("txtboxKodeKelompokKegiatan");
        txtboxKodeJenisKegiatan = (Textbox) getFellow("txtboxKodeJenisKegiatan");
        chkSemua = (Checkbox) getFellow("chkSemua");
        lstboxDaftarKegiatanFilter = (Listbox) getFellow("lstboxDaftarKegiatanFilter");
        txtboxKodeKegiatan = (Textbox) getFellow("txtboxKodeKegiatan");

        sesi = Sessions.getCurrent();
        ClassSession session = (ClassSession) sesi.getAttribute("CURRENT_SESSION");
        lblTahunAnggaran.setValue(session.getThnAnggaran());

        clear();
        loadFilter();
    }

    public void clear() throws Exception {
        txtboxKelompokKegiatan.setValue("");
        txtboxJenisKegiatan.setValue("");
        txtboxNamaKegiatan.setValue("");
        txtboxKeterangan.setValue("");
        txtboxNomorIndikator.setValue("");
        tglboxAwalKegiatan.setValue(null);
        tglboxAkhirKegiatan.setValue(null);
        txtboxKodeKelompokKegiatan.setValue("");
        txtboxKodeJenisKegiatan.setValue("");
        txtboxKodeKegiatan.setValue("");
    }

    public void loadAll() throws Exception {
        int no = 1;
        int i = 1;
        lstboxDaftarKegiatanFilter.setVisible(false);
        lstboxDaftarKegiatan.setVisible(true);
        lstboxDaftarKegiatan.getItems().clear();
        for (final PerekamanKegiatanUnit kegiatanUnit : kegiatanUnitDAO.list()) {
            Listitem item = new Listitem();
            item.setValue(kegiatanUnit);
            item.appendChild(new Listcell(String.valueOf(no++)));
            item.appendChild(new Listcell(kegiatanUnit.getTahun()));
            item.appendChild(new Listcell(kelompokKegiatanDAO.select(kegiatanUnit.getKodeKelompokKegiatan()).getKelompokKegiatan()));
            item.appendChild(new Listcell(kegiatanUnit.getNamaSubKegiatan()));
            item.appendChild(new Listcell(jenisKegiatanDAO.select(kegiatanUnit.getKodeJenisKegiatan()).getJenisKegiatan()));
            if (kegiatanUnit.getIsRencana().equalsIgnoreCase("N")) {
                item.appendChild(new Listcell("Diluar Rencana"));
            } else {
                item.appendChild(new Listcell(""));
            }

            Listcell cellAksi = new Listcell();

            Toolbarbutton btnUbah = new Toolbarbutton();
            btnUbah.setId("btnUbah" + (i++));
            btnUbah.setLabel("[ubah]");
            btnUbah.addEventListener("onClick", new EventListener() {

                public void onEvent(Event arg0) throws Exception {
                    txtboxKodeKegiatan.setValue(kegiatanUnit.getKodeKegiatanUnit() + "");
                    txtboxKelompokKegiatan.setValue(kelompokKegiatanDAO.select(kegiatanUnit.getKodeKelompokKegiatan()).getKelompokKegiatan());
                    txtboxKodeKelompokKegiatan.setValue(kegiatanUnit.getKodeKelompokKegiatan() + "");
                    txtboxJenisKegiatan.setValue(jenisKegiatanDAO.select(kegiatanUnit.getKodeJenisKegiatan()).getJenisKegiatan());
                    txtboxKodeJenisKegiatan.setValue(kegiatanUnit.getKodeJenisKegiatan() + "");
                    txtboxNamaKegiatan.setValue(kegiatanUnit.getNamaSubKegiatan());
                    txtboxKeterangan.setValue(kegiatanUnit.getKeterangan());
                    tglboxAwalKegiatan.setValue(kegiatanUnit.getTglRencanaAwalKegiatan());
                    tglboxAkhirKegiatan.setValue(kegiatanUnit.getTglRencanaAkhirKegiatan());
                    txtboxNomorIndikator.setValue(kegiatanUnit.getNoIndikatorKinerja());
                    enableAll();
                    //revisied by : sarah (BAPSI)
                    txtboxKelompokKegiatan.setReadonly(true);
                    btnCariKelompokKegiatan.setDisabled(true);
                }
            });

            final Toolbarbutton btnHapus = new Toolbarbutton();
            btnHapus.setId("btnHapus" + (i++));
            btnHapus.setLabel("[hapus]");
            btnHapus.addEventListener("onClick", new EventListener() {

                public void onEvent(Event arg0) throws Exception {
                    // revisied by : sarah (BAPSI)
                    String PesanKonfirmasi = "";
                    // kondisiField dan kondisiValue harus dibedakan jika mengakses tabel lain
                    String kondisiField[] = {"isRapat", "kodeRapatKerjaSubKegiatan"};
                    String kondisiValue[] = {"N", String.valueOf(kegiatanUnit.getKodeKegiatanUnit())};
                    if (kegiatanUnitDAO.cekDataTabel("anggaranBiayaRapatKerjaDanKegiatan", kondisiField, kondisiValue)) {
                        PesanKonfirmasi = "Data tersebut sedang digunakan di fitur lain" + "\n" +
                                "Apakah yakin akan " +
                                "menghapus data kegiatan unit?";
                    } else {
                        PesanKonfirmasi = "Apakah data kegiatan unit akan dihapus?";
                    }
                    if (kegiatanUnitDAO.isDikunci().equalsIgnoreCase("N")) {
                        if (Messagebox.show(PesanKonfirmasi, "Konfirmasi", Messagebox.YES | Messagebox.NO, null) == Messagebox.YES) {
                            try {
                                kegiatanUnitDAO.delete(kegiatanUnit);
                            } catch (Exception e) {
                                Messagebox.show("Gagal menghapus data " + e.getMessage(), "Error", Messagebox.OK, Messagebox.ERROR);
                            }
                        }
                        btnHapus.addForward(null, btnBatal, "onClick");
                    } else {
                        Messagebox.show("Maaf, Penyusunan Anggaran RKA sudah terkunci, data tidak dapat dihapus.", "Informasi", Messagebox.YES, Messagebox.INFORMATION);
                    }
                }
            });

            cellAksi.appendChild(btnUbah);
            cellAksi.appendChild(new Space());
            cellAksi.appendChild(btnHapus);
            item.appendChild(cellAksi);
            lstboxDaftarKegiatan.appendChild(item);
        }
    }

    public void loadFilter() throws Exception {
        int no = 1;
        int i = 1;
        lstboxDaftarKegiatanFilter.setVisible(true);
        lstboxDaftarKegiatan.setVisible(false);
        lstboxDaftarKegiatanFilter.getItems().clear();
        ClassSession sesi = new ClassSession("2008", "212");
        for (final PerekamanKegiatanUnit kegiatanUnit : kegiatanUnitDAO.list(sesi.getThnAnggaran(), sesi.getKodeUnit())) {
            Listitem item = new Listitem();
            item.setValue(kegiatanUnit);
            item.appendChild(new Listcell(String.valueOf(no++)));
            item.appendChild(new Listcell(kelompokKegiatanDAO.select(kegiatanUnit.getKodeKelompokKegiatan()).getKelompokKegiatan()));
            item.appendChild(new Listcell(kegiatanUnit.getNamaSubKegiatan()));
            item.appendChild(new Listcell(jenisKegiatanDAO.select(kegiatanUnit.getKodeJenisKegiatan()).getJenisKegiatan()));
            if (kegiatanUnit.getIsRencana().equalsIgnoreCase("N")) {
                item.appendChild(new Listcell("Diluar Rencana"));
            } else {
                item.appendChild(new Listcell(""));
            }
            Listcell cellAksi = new Listcell();

            Toolbarbutton btnUbah = new Toolbarbutton();
            btnUbah.setId("btnUbahx" + (i++));
            btnUbah.setLabel("[ubah]");
            btnUbah.addEventListener("onClick", new EventListener() {

                public void onEvent(Event arg0) throws Exception {
                    txtboxKodeKegiatan.setValue(kegiatanUnit.getKodeKegiatanUnit() + "");
                    txtboxKelompokKegiatan.setValue(kelompokKegiatanDAO.select(kegiatanUnit.getKodeKelompokKegiatan()).getKelompokKegiatan());
                    txtboxKodeKelompokKegiatan.setValue(kegiatanUnit.getKodeKelompokKegiatan() + "");
                    txtboxJenisKegiatan.setValue(jenisKegiatanDAO.select(kegiatanUnit.getKodeJenisKegiatan()).getJenisKegiatan());
                    txtboxKodeJenisKegiatan.setValue(kegiatanUnit.getKodeJenisKegiatan() + "");
                    txtboxNamaKegiatan.setValue(kegiatanUnit.getNamaSubKegiatan());
                    txtboxKeterangan.setValue(kegiatanUnit.getKeterangan());
                    tglboxAwalKegiatan.setValue(kegiatanUnit.getTglRencanaAwalKegiatan());
                    tglboxAkhirKegiatan.setValue(kegiatanUnit.getTglRencanaAkhirKegiatan());
                    txtboxNomorIndikator.setValue(kegiatanUnit.getNoIndikatorKinerja());
                    enableAll();
                    //revisied by : sarah (BAPSI)
                    txtboxKelompokKegiatan.setReadonly(true);
                    btnCariKelompokKegiatan.setDisabled(true);
                }
            });

            final Toolbarbutton btnHapus = new Toolbarbutton();
            btnHapus.setId("btnHapusx" + (i++));
            btnHapus.setLabel("[hapus]");
            btnHapus.addEventListener("onClick", new EventListener() {

                public void onEvent(Event arg0) throws Exception {
                    //SOURCE ASLI QUADRA , tgl 09-12-2009 by sarah
//                    if (Messagebox.show("Apakah data Kegiatan Unit: " + kegiatanUnit.getNamaSubKegiatan() + " akan dihapus?", "Konfirmasi", Messagebox.YES | Messagebox.NO, null) == Messagebox.YES) {
//                        try {
//                            if (kegiatanUnitDAO.isDikunci().equalsIgnoreCase("N")) {
//                                kegiatanUnitDAO.delete(kegiatanUnit);
//                            } else {
//                                Messagebox.show("Maaf, Penyusunan Anggaran RKA sudah terkunci, data tidak dapat dihapus.", "Informasi", Messagebox.YES, Messagebox.INFORMATION);
//
//                            }
//                        } catch (Exception ex) {
//                            Messagebox.show("Gagal menghapus data: " + ex.getMessage());
//                        }
//                        btnHapus.addForward(null, btnBatal, "onClick");
//                    }
                    // revisied by : sarah (BAPSI), tgl 09-12-2009
                    String PesanKonfirmasi = "";
                    // kondisiField dan kondisiValue harus dibedakan jika mengakses tabel lain
                    String kondisiField[] = {"isRapat", "kodeRapatKerjaSubKegiatan"};
                    String kondisiValue[] = {"N", String.valueOf(kegiatanUnit.getKodeKegiatanUnit())};
                    if (kegiatanUnitDAO.cekDataTabel("anggaranBiayaRapatKerjaDanKegiatan", kondisiField, kondisiValue)) {
                        PesanKonfirmasi = "Data tersebut sedang digunakan di fitur lain" + "\n" +
                                "Apakah yakin akan " +
                                "menghapus data kegiatan unit?";
                    } else {
                        PesanKonfirmasi = "Apakah data kegiatan unit akan dihapus?";
                    }
                    try {
                        if (kegiatanUnitDAO.isDikunci().equalsIgnoreCase("N")) {
                            if (Messagebox.show(PesanKonfirmasi, "Konfirmasi", Messagebox.YES | Messagebox.NO, null) == Messagebox.YES) {
                                kegiatanUnitDAO.delete(kegiatanUnit);
                            }
                        } else {
                            Messagebox.show("Maaf, Penyusunan Anggaran RKA sudah terkunci, data tidak dapat dihapus.", "Informasi", Messagebox.YES, Messagebox.INFORMATION);
                        }
                        btnHapus.addForward(null, btnBatal, "onClick");
                    } catch (Exception e) {
                        Messagebox.show("Gagal menghapus data " + e.getMessage(), "Error", Messagebox.OK, Messagebox.ERROR);
                    }
                }
            });

            cellAksi.appendChild(btnUbah);
            cellAksi.appendChild(new Space());
            cellAksi.appendChild(btnHapus);
            item.appendChild(cellAksi);
            lstboxDaftarKegiatanFilter.appendChild(item);
        }
    }

    public void chkSemuaOnCheck() throws Exception {
        if (chkSemua.isChecked()) {
            loadAll();
        } else {
            loadFilter();
        }
    }

    public void btnSimpanOnClick() throws Exception {
        if (txtboxKodeKelompokKegiatan.getValue().isEmpty()) {
            Messagebox.show("Silahkan memilih Kelompok Kegiatan", "Pesan Informasi", Messagebox.OK, Messagebox.INFORMATION);
            return;
        }
        if (txtboxKodeJenisKegiatan.getValue().isEmpty()) {
            Messagebox.show("Silahkan memilih Jenis Kegiatan", "Pesan Informasi", Messagebox.OK, Messagebox.INFORMATION);
            return;
        }
        if (txtboxNamaKegiatan.getValue().isEmpty()) {
            Messagebox.show("Silahkan input Nama Kegiatan", "Pesan Informasi", Messagebox.OK, Messagebox.INFORMATION);
            return;
        }
        if (txtboxKeterangan.getValue().isEmpty()) {
            Messagebox.show("Silahkan input Keterangan", "Pesan Informasi", Messagebox.OK, Messagebox.INFORMATION);
            return;
        }
        if (tglboxAwalKegiatan.getValue() == null) {
            Messagebox.show("Silahkan memilih Tanggal Kegiatan", "Pesan Informasi", Messagebox.OK, Messagebox.INFORMATION);
            return;
        }
        if (tglboxAkhirKegiatan.getValue() == null) {
            Messagebox.show("Silahkan memilih Tanggal Kegiatan", "Pesan Informasi", Messagebox.OK, Messagebox.INFORMATION);
            return;
        }
        if (txtboxNomorIndikator.getValue().isEmpty()) {
            Messagebox.show("Silahkan input Nomor Indikator Kinerja", "Pesan Informasi", Messagebox.OK, Messagebox.INFORMATION);
            return;
        }
        PerekamanKegiatanUnit kegiatanUnit = new PerekamanKegiatanUnit();
        kegiatanUnit.setKodeKelompokKegiatan(Integer.valueOf(txtboxKodeKelompokKegiatan.getValue()));
        kegiatanUnit.setKodeJenisKegiatan(Integer.valueOf(txtboxKodeJenisKegiatan.getValue()));
        kegiatanUnit.setNamaSubKegiatan(txtboxNamaKegiatan.getValue());
        kegiatanUnit.setKeterangan(txtboxKeterangan.getValue());
        kegiatanUnit.setTglRencanaAwalKegiatan(tglboxAwalKegiatan.getValue());
        kegiatanUnit.setTglRencanaAkhirKegiatan(tglboxAkhirKegiatan.getValue());
        kegiatanUnit.setNoIndikatorKinerja(txtboxNomorIndikator.getValue());
        try {
            if (kegiatanUnitDAO.isDikunci().equalsIgnoreCase("N")) {
                if (txtboxKodeKegiatan.getValue().isEmpty()) {
                    if (kegiatanUnitDAO.list(kegiatanUnit.getKodeKelompokKegiatan(), kegiatanUnit.getKodeJenisKegiatan(), kegiatanUnit.getNamaSubKegiatan()).size() <= 0) {
                        kegiatanUnitDAO.insert(kegiatanUnit);
                    } else {
                        Messagebox.show("Maaf, Data Sudah Ada", "Informasi", Messagebox.YES, Messagebox.INFORMATION);
                        kegiatanUnit = null;
                        return;
                    }
                } else {
                    kegiatanUnit.setKodeKegiatanUnit(Integer.valueOf(txtboxKodeKegiatan.getValue()));
                    if (kegiatanUnitDAO.list(kegiatanUnit.getKodeKelompokKegiatan(), kegiatanUnit.getKodeJenisKegiatan(), kegiatanUnit.getNamaSubKegiatan()).size() <= 0) {
                        kegiatanUnitDAO.update(kegiatanUnit);
                    } else {
                        Messagebox.show("Maaf, Data Sudah Ada", "Informasi", Messagebox.YES, Messagebox.INFORMATION);
                        kegiatanUnit = null;
                        return;
                    }

                }
            } else {
                Messagebox.show("Maaf, Penyusunan Anggaran RKA sudah terkunci, data tidak dapat disimpan.", "Informasi", Messagebox.YES, Messagebox.INFORMATION);
                kegiatanUnit = null;
                return;
            }
        } catch (Exception ex) {
            Messagebox.show("Data gagal disimpan. Terjadi error: " + ex.getMessage(), "Informasi Kesalahan", Messagebox.YES, Messagebox.ERROR);
            return;
        }

        clear();
        loadFilter();
    }

    public void btnBatalOnClick() throws Exception {
        clear();
        loadFilter();
        enableAll();
    }

    public void btnCariKelompokKegiatanOnClick() throws Exception {
        final Window win = (Window) Executions.createComponents("/sippzul/perekamankegiatanunit/KelompokKegitanPopup.zul", this, null);
        Textbox txtboxKeySearch = (Textbox) win.getFellow("txtboxKeySearch");
        txtboxKeySearch.setValue(txtboxKelompokKegiatan.getValue());
        win.doModal();
    }

    public void btnCariJenisKegiatanOnClick() throws Exception {
        final Window win = (Window) Executions.createComponents("/sippzul/perekamankegiatanunit/JenisKegitanPopup.zul", this, null);
        Textbox txtboxKeySearch = (Textbox) win.getFellow("txtboxKeySearch");
        txtboxKeySearch.setValue(txtboxJenisKegiatan.getValue());
        win.doModal();
    }

    public void lstboxDaftarKegiatanOnSelect() throws Exception {
        PerekamanKegiatanUnit kegiatanUnit = (PerekamanKegiatanUnit) lstboxDaftarKegiatan.getSelectedItem().getValue();
        txtboxKelompokKegiatan.setValue(kelompokKegiatanDAO.select(kegiatanUnit.getKodeKelompokKegiatan()).getKelompokKegiatan());
        txtboxJenisKegiatan.setValue(jenisKegiatanDAO.select(kegiatanUnit.getKodeJenisKegiatan()).getJenisKegiatan());
        txtboxNamaKegiatan.setValue(kegiatanUnit.getNamaSubKegiatan());
        txtboxKeterangan.setValue(kegiatanUnit.getKeterangan());
        tglboxAwalKegiatan.setValue(kegiatanUnit.getTglRencanaAwalKegiatan());
        tglboxAkhirKegiatan.setValue(kegiatanUnit.getTglRencanaAkhirKegiatan());
        txtboxNomorIndikator.setValue(kegiatanUnit.getNoIndikatorKinerja());
        disableAll();

    }

    public void disableAll() throws Exception {
        txtboxKelompokKegiatan.setDisabled(true);

        txtboxJenisKegiatan.setDisabled(true);
        txtboxNamaKegiatan.setDisabled(true);
        txtboxKeterangan.setDisabled(true);
        tglboxAwalKegiatan.setDisabled(true);
        tglboxAkhirKegiatan.setDisabled(true);
        txtboxNomorIndikator.setDisabled(true);
        btnCariJenisKegiatan.setDisabled(true);
        btnCariKelompokKegiatan.setDisabled(true);
    }

    public void enableAll() throws Exception {
        txtboxKelompokKegiatan.setDisabled(false);
        txtboxKelompokKegiatan.setReadonly(false);
        txtboxJenisKegiatan.setDisabled(false);
        txtboxNamaKegiatan.setDisabled(false);
        txtboxKeterangan.setDisabled(false);
        tglboxAwalKegiatan.setDisabled(false);
        tglboxAkhirKegiatan.setDisabled(false);
        txtboxNomorIndikator.setDisabled(false);
        btnCariJenisKegiatan.setDisabled(false);
        btnCariKelompokKegiatan.setDisabled(false);
    }

    public void lstboxDaftarKegiatanFilterOnSelect() throws Exception {
        PerekamanKegiatanUnit kegiatanUnit = (PerekamanKegiatanUnit) lstboxDaftarKegiatanFilter.getSelectedItem().getValue();
        txtboxKelompokKegiatan.setValue(kelompokKegiatanDAO.select(kegiatanUnit.getKodeKelompokKegiatan()).getKelompokKegiatan());
        txtboxJenisKegiatan.setValue(jenisKegiatanDAO.select(kegiatanUnit.getKodeJenisKegiatan()).getJenisKegiatan());
        txtboxNamaKegiatan.setValue(kegiatanUnit.getNamaSubKegiatan());
        txtboxKeterangan.setValue(kegiatanUnit.getKeterangan());
        tglboxAwalKegiatan.setValue(kegiatanUnit.getTglRencanaAwalKegiatan());
        tglboxAkhirKegiatan.setValue(kegiatanUnit.getTglRencanaAkhirKegiatan());
        txtboxNomorIndikator.setValue(kegiatanUnit.getNoIndikatorKinerja());
        disableAll();
    }
}
